int cmp(const void* pa, const void* pb){
    return (*(int*)pa - *(int*)pb);
}
int minMovesToSeat(int* seats, int seatsSize, int* students, int studentsSize) {
    qsort(seats, seatsSize, sizeof(int), cmp);
    qsort(students, studentsSize, sizeof(int), cmp);
    int ans = 0;
    for(int i = 0; i < seatsSize; i++){
        ans += abs(seats[i] - students[i]);
    }
    return ans;
}

/*一个房间里有 n 个空闲座位和 n 名站着的学生，房间用一个数轴表示。给你一个长度为 n 的数组 seats ，其中 seats[i] 是第 i 个座位的位置。

同时给你一个长度为 n 的数组 students ，其中 students[j] 是第 j 位学生的位置。

你可以执行以下操作任意次：

增加或者减少第 i 位学生的位置，每次变化量为 1 （也就是将第 i 位学生从位置 x 移动到 x + 1 或者 x - 1）

请你返回使所有学生都有座位坐的最少移动次数，并确保没有两位学生的座位相同。

请注意，初始时有可能有多个座位或者多位学生在同一位置。*/